Merged
Conversation
…oper document replacement
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces improvements to the testing setup and modifies the way documents are updated in the database. The change switches from a partial update to a full document replacement, ensuring that fields removed from the input are also removed from the stored document.
- Enhanced testing setup with comprehensive MongoDB operation testing using mongomock
- Switched update operation from
update_onetoreplace_onefor complete document replacement - Added improved timestamp handling that preserves creation date while updating modification date
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| backend/tests/test_mongo_operations.py | Adds comprehensive test suite for MongoDB operations using mongomock for isolation |
| backend/services/data_documents_service.py | Updates document update logic to use replace_one instead of update_one |
| backend/requirements.txt | Adds testing dependencies: mongomock, pytest-mock, and freezegun |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
🎉 This PR is included in version 2.1.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces improvements to the testing setup and modifies the way documents are updated in the database. The most significant change is switching from a partial update to a full document replacement, ensuring that fields removed from the input are also removed from the stored document.
Testing enhancements:
mongomock,pytest-mock, andfreezeguntobackend/requirements.txtto support more robust and isolated testing, especially for mocking MongoDB and time-dependent code.Database update logic:
update_documentfunction inbackend/services/data_documents_service.pyto usereplace_oneinstead ofupdate_one, ensuring that the entire document is replaced and deleted fields are removed from the database, not just overwritten.